package Day023_设计模式_动态代理.demo1_单例设计模式;

/**
 * @author zhangyan
 * @date 2020/5/17 9:20
 */
public class Test1_饿汉式单例 {
    public static void main(String[] args) {

        Person p1 = Person.getInstance();
        Person p2 = Person.getInstance();
        Person p3 = Person.getInstance();

        System.out.println(p1);
        System.out.println(p2);
        System.out.println(p3);
    }
}


class Person {

    //构造方法私有化,不能在外部通过new创建对像
    private Person() {
    }

    //在类的内部产生一个唯一的实例化对象
    private static final Person p = new Person();
    //final保证变量不能重新赋值,如果没有final,在下面有方法p=new person,就会覆盖之前的p

    //定义静态方法返回这个唯一对象
    public static Person getInstance() {
        return p;
    }
}
